home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / LED.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  3.7 KB  |  149 lines

  1. 10  'LED - Light Emitting Diodes - 13 JAN 91 rev. 29 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  U$="##,###.##"
  6. 60  U1$="##,###"
  7. 70  U2$="###.#"
  8. 80  UL$=STRING$(80,205)
  9. 90  X$=STRING$(7,32)
  10. 100  DIM R(12)
  11. 110  DATA 10,12,15,18,22,27,33,39,47,56,68,82
  12. 120  FOR Z=1 TO 12:READ R(Z):NEXT Z
  13. 130  '
  14. 140  '.....start
  15. 150  CLS
  16. 160  COLOR 15,2
  17. 170  PRINT " LED SERIES RESISTOR";TAB(57);"by George Murphy VE3ERP ";
  18. 180  COLOR 7,0
  19. 190  COLOR 1,0:PRINT STRING$(80,223);
  20. 200  COLOR 7,0
  21. 210  TB=7         'tab for text
  22. 220  GOSUB 1160   'text block
  23. 230  PRINT
  24. 240  COLOR 0,7
  25. 250  LOCATE CSRLIN,22:PRINT " Press 1 to continue or 0 to EXIT....."
  26. 260  COLOR 7,0
  27. 270  Z$=INKEY$:IF Z$=""THEN 270
  28. 280  IF Z$="0"THEN CLS:RUN EX$
  29. 290  IF Z$="1"THEN 310
  30. 300  GOTO 280
  31. 310  LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
  32. 320  '
  33. 330  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  34. 340  '
  35. 350  '.....draw diagram
  36. 360  CO=24
  37. 370  COLOR 0,7
  38. 380  LOCATE CSRLIN,CO:PRINT "                                 "
  39. 390  LOCATE CSRLIN,CO:PRINT "  CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUND voltage drop V SOUNDSOUNDSOUNDSOUNDDEFDBLCALL  "
  40. 400  LOCATE CSRLIN,CO:PRINT "  CALL                           CALL  "
  41. 410  LOCATE CSRLIN,CO:PRINT "         R1       VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR        "
  42. 420  LOCATE CSRLIN,CO:PRINT " + SOUNDSOUNDSOUNDSOUNDSOUND\/\/\SOUNDSOUNDSOUNDSOUNDSOUND<0xB4!> LED BLOADSOUNDSOUNDSOUNDSOUNDSOUND - "
  43. 430  LOCATE CSRLIN,CO:PRINT "                  CLSSOUNDSOUNDSOUNDSOUNDSOUND'        "
  44. 440  COLOR 7,0
  45. 450  PRINT UL$;
  46. 460  '
  47. 470  '.....inputs
  48. 480  COLOR 0,7:PRINT " ENTER:";
  49. 490  COLOR 7,0:INPUT " Voltage Drop V..............................";V
  50. 500  LOCATE CSRLIN-1:PRINT X$
  51. 510  LOCATE CSRLIN-1,51:PRINT USING U$;V;:PRINT" volts"
  52. 520  '
  53. 530  'COLOR 0,7:PRINT " ENTER:";
  54. 540  'COLOR 7,0:INPUT " Voltage V- .................................";VO
  55. 550  'LOCATE CSRLIN-1:PRINT X$
  56. 560  'LOCATE CSRLIN-1,51:PRINT USING U$;VO;:PRINT" volts"
  57. 570  '
  58. 580  COLOR 0,7:PRINT " ENTER:";
  59. 590  COLOR 7,0:INPUT " Forward voltage rating of LED...............";VF
  60. 600  IF VF=0 THEN VF=2:VF$=" (typical)"ELSE VF$=""
  61. 610  LOCATE CSRLIN-1:PRINT X$
  62. 620  LOCATE CSRLIN-1,51:PRINT USING U$;VF;:PRINT" volts";VF$
  63. 630  '
  64. 640  COLOR 0,7:PRINT " ENTER:";
  65. 650  COLOR 7,0:INPUT " Max.current rating of LED in mA. ...........";I
  66. 660  IF I=0 THEN I=20:I$="   (typical)"ELSE I$=""
  67. 670  LOCATE CSRLIN-1:PRINT X$
  68. 680  LOCATE CSRLIN-1,51:PRINT USING U$;I;:PRINT" ma.";I$
  69. 690  '
  70. 700  VD=V-VF
  71. 710  PRINT SPC(7);" Voltage drop across resistor R1 ..........";USING U$;VD;
  72. 720  PRINT" volts"
  73. 730  '
  74. 740  R1=VD/I*1000         'resistance at max.current
  75. 750  R2=VD/I*2*1000       'resistance at 1/2 max. current
  76. 760  '
  77. 770  '.....recommended resistors
  78. 780  N=0:X=1
  79. 790  FOR Z=1 TO 12
  80. 800  IF R(Z)*X>=R1 AND R(Z)*X<=R2 THEN N=N+1:RES(N)=R(Z)*X
  81. 810  IF R(Z)*X>R2 THEN 850
  82. 820  NEXT Z
  83. 830  X=X*10:GOTO 790
  84. 840  '
  85. 850  PRINT SPC(7);" Recommended series resistor  R1 ..........";USING U1$;RES(N);
  86. 860  PRINT"    ohms"
  87. 870  PRINT UL$;
  88. 880  '
  89. 890  FOR Z=N TO 1 STEP-1
  90. 900  OP=OP+1
  91. 910  COLOR 7,0
  92. 920  IF Z=N THEN COLOR 15,3 ELSE COLOR 7,0
  93. 930  PRINT " Option";OP;
  94. 940  MA=VD/RES(Z)*1000
  95. 950  P=MA*VD/1000
  96. 960  P$="1/4 watt"
  97. 970  IF P>0.125 THEN P$="1/2 watt"
  98. 980  IF P>0.25 THEN P$="1.0 watt"
  99. 990  IF P>1.25 THEN P$="5.0 watt"
  100. 1000  PRINT " R1 =";USING U1$;RES(Z);
  101. 1010  PRINT " ohms ";P$;", LED current=";
  102. 1020  LOCATE CSRLIN,50:PRINT USING U2$;MA;:PRINT " ma.@";
  103. 1030  PRINT USING "###.##";VD*MA/1000;:PRINT "w. dissipation ";
  104. 1040  NEXT Z
  105. 1050  PRINT UL$;
  106. 1060  COLOR 15,3
  107. 1070  PRINT " Option 1 provides LONGEST LED LIFE."
  108. 1080  COLOR 7,0
  109. 1090  PRINT " Option";OP;"provides BRIGHTEST LIGHT."
  110. 1100  OP=0
  111. 1110  PRINT UL$;
  112. 1120  GOSUB 1360
  113. 1130  GOTO 140   'start
  114. 1140  END
  115. 1150  '
  116. 1160  '.....text page
  117. 1170  PRINT TAB(TB);
  118. 1180  PRINT "You will be asked to enter the following ratings of the LED:"
  119. 1190  PRINT
  120. 1200  PRINT TAB(TB+3);"Forward voltage rating"
  121. 1210  PRINT TAB(TB+3);"Maximum current rating"
  122. 1220  PRINT
  123. 1230  PRINT TAB(TB);
  124. 1240  PRINT "If you do not know either or both of these ratings then just press"
  125. 1250  PRINT TAB(TB);
  126. 1260  PRINT "<ENTER> when asked to enter the rating, and the computer will enter"
  127. 1270  PRINT TAB(TB);
  128. 1280  PRINT "typical ratings for you."
  129. 1290  PRINT
  130. 1300  PRINT TAB(TB);
  131. 1310  PRINT "These typical ratings will provide you with a starting point for"
  132. 1320  PRINT TAB(TB);
  133. 1330  PRINT "further experimentation."
  134. 1340  RETURN
  135. 1350  '
  136. 1360  'HARDCOPY
  137. 1370  GOSUB 1480:LOCATE 25,2:COLOR 14,6
  138. 1380  PRINT " Press 1 to print screen, 2 to print screen & ";
  139. 1390  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  140. 1400  Z$=INKEY$:IF Z$="3"THEN GOSUB 1480:RETURN
  141. 1410  IF Z$="1"OR Z$="2"THEN GOSUB 1480:GOTO 1430
  142. 1420  GOTO 1400
  143. 1430  FOR QX=1 TO 24:FOR QY=1 TO 80
  144. 1440  LPRINT CHR$(SCREEN(QX,QY));
  145. 1450  NEXT QY:NEXT QX
  146. 1460  IF Z$="2"THEN LPRINT CHR$(12)
  147. 1470  GOTO 1370
  148. 1480  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  149.